//
//  HMStatusCell.swift
//  HMWeibo12
//
//  Created by iOS on 16/9/20.
//  Copyright © 2016年 iOS. All rights reserved.
//

import UIKit

class HMStatusCell: UITableViewCell {
    /// 头像View
    @IBOutlet weak var iconView: UIImageView!
    /// 名称Label
    @IBOutlet weak var nameLabel: UILabel!
    /// 会员等级View
    @IBOutlet weak var memberImageView: UIImageView!
    /// 认证类型View
    @IBOutlet weak var verifiedImageView: UIImageView!
    /// 来源Label
    @IBOutlet weak var sourceLabel: UILabel!
    /// 时间Label
    @IBOutlet weak var timeLabel: UILabel!
    /// 微博文本内容
    @IBOutlet weak var statusText: UILabel!
    /// 微博配图
    @IBOutlet weak var pictureView: HMStatusPictureView!
    /// 被转发微博文本,这个属性,只转发微博才有这个
    @IBOutlet weak var retweetStatusText: UILabel!
    
    @IBOutlet weak var statusBottomView: HMStatusBottomView!
    
    // 微博模型VM
    var statusVM: HMStatusVM? {
        didSet {
            guard let status = statusVM?.status else {
                print("没有微博模型")
                return
            }
            
            // cell拿到vm.可以设置内容
            // 头像
            if let profile_image_url = status.user?.profile_image_url {
                // 使用SDWebImage显示头像
//                let url = URL(string: profile_image_url)
//                iconView.sd_setImage(with: url)
                HMAsyncDrawImage.shared.hm_AsyncDrawImage(urlString: profile_image_url, drawFinish: { (image) in
                    self.iconView.image = image
                })
            }
            
            // 用户名称
            let name = status.user?.screen_name ?? "未知名称"
            nameLabel.text = name
            
            // 来源
            let source = statusVM?.statusSource ?? "未知来源"
            sourceLabel.text = source
            
            // 时间, 每次cell显示的时候都来比较,时间会更新
            timeLabel.text = Date.dateDescription(formSinaDateString: status.created_at ?? "未知时间")
            
            // 微博文本内容
//            let text = status.text ?? "未知微博内容"
//            statusText.text = text
            statusText.attributedText = statusVM?.originAttributeText
            
            // 会员等级 // CPU 和 内存
            memberImageView.image = statusVM?.vipImage
            
            // 认证类型,    verified_type 没有认证:-1   认证用户:0  企业认证:2,3,5  达人:220
            verifiedImageView.image = statusVM?.verifiedImage
            
            // 判断是原创微博还是转发微博
            if statusVM!.isRetweetedStatus {
                // 转发微博
                pictureView.imageURLs = statusVM?.retweetStatusPictureURLs

//                retweetStatusText.text = statusVM?.retweetStatusText
                retweetStatusText.attributedText = statusVM?.retweetAttributeText
            } else {
                // 原创微博
                // 将配图的数组传递给配图视图
                pictureView.imageURLs = statusVM?.originalStatusPictureURLs
            }
            
            // 设置bottomView
            statusBottomView.statusVM = statusVM
        }
    }
    
    override func awakeFromNib() {
        // 设置cell选中时的状态
        self.selectionStyle = UITableViewCellSelectionStyle.none
        
        // 栅格化.将图层的内容截图,保存起来,如果要显示会直接拿来用,一段时间没有人用就会销毁掉,要保证图层上的内容不会改变, 栅格化会产生离屏渲染,慎用!
//        self.layer.shouldRasterize = true
//        self.layer.rasterizationScale = UIScreen.main.scale
        // 头像
//        iconView.layer.cornerRadius = 17.5
//        iconView.clipsToBounds = true
        
        // 阴影
//        self.memberImageView.layer.shadowColor = UIColor.orange.cgColor
//        self.memberImageView.layer.shadowOffset = CGSize(width: -5, height: 5)
//        self.memberImageView.layer.shadowOpacity = 0.5
//        self.memberImageView.layer.shadowRadius = 5
    }
}
